/***************************************************************
 * Copyright(C) 2024, HTDisplay. All Rights Reserved
 *
 * This file is part of the HtDisplaySDK Project.
 *
 * @file    :  BasicGpio.h
 *
 * @brief   :  串口的基类
 *
 * @author  :  郑满乐
 *
 * @date    :  2024-11-19
 ***************************************************************/

#ifndef BASICGPIO_H
#define BASICGPIO_H

#include "HtDisplaySDK_global.h"
#include <string>

/**
 * @class BasicGpio
 * @brief 串口的基类.
 */
class  BasicGpio
{
public:
    virtual ~BasicGpio() {}

    /**
     * @brief 初始化GPIO.
     * @param 无.
     * @return true：初始化成功，false：初始化失败.
     */
    virtual bool init() = 0;

    /**
     * @brief 设置GPIO值.
     * @param value：0 或 1.
     * @return true：设置成功，false：设置失败.
     */
    virtual bool setValue(int value) = 0;

    /**
     * @brief 获取GPIO值.
     * @param value：0 或 1.
     * @return true：获取成功，false：获取失败.
     */
    virtual bool getValue(int& value) = 0;
};

#endif // BASICGPIO_H
